package com.itlong.cloud.enumerate.ecode;


import lombok.Getter;
import lombok.Setter;

/**
 * 二维码SDK错误码定义
 *
 * @createDate 2018/05/14
 */
public enum QrcodeSDKErrorCodeEnum {
    /*
    *mainCode为7表示二维码SDK模块错误，subCode可用范围为1至999；
   */
    QRCODE_TYPE_ERROR(7,1,"二维码类型错误"),
    QRCODE_PROJECT_ERROR(7,2,"项目id不存在"),
    QRCODE_USER_ID_ERROR(7,3,"userId长度为8,只能为数字"),
    QRCODE_BEGINDATE_ERROR(7,4,"启用日期格式错误，示例：1805081600"),
    QRCODE_PROJECT_ID_ERROR(7,5,"项目id格式错误"),
    QRCODE_VALIDITYDURATION_ERROR(7,6,"有效期格式错误，只能为数字，且不能大于1440"),
    QRCODE_PERMISSION_COUNT_ERROR(7,7,"权限组数量不能为空，且不能大于255"),
    QRCODE_IDENTITY_ERROR(7,8,"身份验证失败，请传入正确的appid及appsecret"),
    QRCODE_API_PARAM(7,9,"没有在线二维码API权限"),
    ;

    @Setter
    @Getter
    private ErrorCode errorCode = new ErrorCode();


    QrcodeSDKErrorCodeEnum(){}
    @Getter
    private String codeMsg;



    /**
     * <desc>
     *     主错误码与错误信息构造函数
     * </desc>
     * @param mainCode
     * @param codeMsg
     */
    QrcodeSDKErrorCodeEnum(Integer mainCode, String codeMsg) {
        errorCode.setMainCode(mainCode);
        errorCode.setSubCode(0);
        errorCode.setCodeMsg(codeMsg);
    }

    /**
     * <desc>
     *     全参构造函数
     * </desc>
     * @param mainCode
     * @param subCode
     * @param codeMsg
     */
    QrcodeSDKErrorCodeEnum(Integer mainCode, Integer subCode, String codeMsg){
        this.codeMsg=codeMsg;
        errorCode.setMainCode(mainCode);
        errorCode.setSubCode(subCode);
        errorCode.setCodeMsg(codeMsg);
    }



}
